package com.ny.service;

import com.ny.entity.Device;

import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

public interface DeviceService {

    /**
     * 查询所有设备信息
     * @return 设备列表
     */
    List<Device> findAllDevices();

    /**
     * 根据设备名称查询设备信息
     * @param deviceName 设备名称
     * @return 设备信息
     */
    Device findDeviceByName(String deviceName);

    /**
     * 根据设备名称模糊查询设备信息
     * @param deviceName 设备名称
     * @return 设备列表
     */
    List<Device> findDevicesByName(String deviceName);

    /**
     * 查询某个时间段且状态是离线的设备信息
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @return 设备列表
     */
    List<Device> findOfflineDevicesByTime(Date startTime, Date endTime);

    List<Device> findOfflineDevicesByTime(LocalDateTime startTime, LocalDateTime endTime);



    /**
     * 根据设备id删除设备
     * @param deviceId 设备id
     * @return 删除结果
     */
    boolean deleteDeviceById(Integer deviceId);


    // DeviceService.java
List<Device> findDevicesByCreatedTimeAfter(Date createdTime);



}